#include<bits/stdc++.h>
using namespace std;
void print(vector<int> &v){
	for(int i=0;i<v.size();i++){
		if(i>0)
			cout<<" ";
		cout<<v[i];
	}
	cout<<"\n";
}
int digitCubeMul(int n){
	int ans=n?1:0;
	while(n&&ans){
		int digit=n%10;
		ans*=pow(digit,3);
		n/=10;
	}
	return ans;
}
int cntOfInvalid(vector<int> &nums){
	int ans=0;
	for(int i=0;i<nums.size();i++){
		if(nums[i]>9)
			ans++;
	}
	return ans;
}
void cal(vector<int> &nums){
	int ans=0;
	for(int i=0;i<nums.size();i++){
		int temp=digitCubeMul(nums[i]);
		nums.push_back(i);
	}
}
void create(int l,int r,vector<int> &nums){
	for(int i=1;i<=r;i++){
		nums.push_back(i);
	}
}
int calAns(vector<int> &nums,vector<int> &ans){
	int occ[10]={};
	for(int num:nums){
		occ[num]++;
	}
	int maxCnt=0;
	for(int cnt:occ){
		maxCnt=max(maxCnt,cnt);
	}
	for(int i=0;i<10;i++){
		if(occ[i]==maxCnt)
			ans.push_back(i);
	}
	return maxCnt;
}
void solve(){
	int l,r;
	cin>>l>>r;
	vector<int> nums;
	create(l,r,nums);
	cal(nums);
	vector<int> ans;
	int times=calAns(nums,ans);
	cout<<times<<"\n";
	for(int i=0;i<ans.size();i++){
		if(i>0){
			cout<<" ";
		}
		cout<<ans[i];
	}
}
int main()
{
	cin.tie(0);
	ios::sync_with_stdio(0);
	int n=1;
	while(n--){
		solve();
	}
	return 0;
}